草庐IT

android - asyncTask 测试不执行

全部标签

javascript - chai-as-promised 和 mocha 中嵌套属性的测试值

我正在尝试使用chai-as-promised库测试返回promise的函数。我promise的结果是一个具有嵌套属性的对象。是否可以测试深层嵌套属性的值。例如functionmyFunc(){returnnewPromise((resolve,reject)=>{constdata={thing:{foo:'bar',baz:'lah'}}resolve(data)})}如何在不检查整个对象的情况下测试foo属性是否等于“bar”?我试过这样的事情:expect(myFunc()).to.eventually.have.property('thing.foo','bar')但是没有运

javascript - 测试字符串是否是 JavaScript 中的有效 float

我想测试一个字符串是否可以转换为float。我一直在尝试使用parseFloat来实现这一点。console.log(!isNaN(parseFloat("10000")));//shouldreturntrueconsole.log(!isNaN(parseFloat("100T0")));//shouldreturnfalse(butdoesn't)TurnsoutparseFloat在遇到非数字字符后立即停止读取字符串,然后返回到目前为止传递的任何内容。所以parseFloat("100T0")实际上返回100而不是NaN。什么是更好的js测试来查看字符串是否可以转换为float

javascript - 在 Javascript 中,有没有一种技术可以让我在返回后执行代码?

有没有一种方法可以让我在返回后执行代码?我想返回一个值,然后在不引入临时变量的情况下重置该值。我当前的代码是:varfoo=(function(){varb;return{bar:function(a){if(b){vartemp=b;b=false;returntemp;}else{b=a;returnfalse;};}};})();foo.bar(1);我想避免使用temp变量。这可能吗?varb在函数调用之间保存一个值,因为它是一个内存风格的函数。 最佳答案 使用finallyblock确保某些代码在另一个block之后运行。

javascript - 如何使用 JsTestDriver 测试 jquery 和 ajax 调用?

我有一个用jQuery构建的动态页面。HTML片段从mustache加载模板。这些模板是从url下载的,我想对整个html结构进行单元测试:JsTestDriver测试是:AppTest=TestCase("AppTest")AppTest.prototype.test=function(){varactualHtml="";getHtml({"title":"title","header":"header","text":"text","authors":[{"firstname":"firstname","lastname":"lastname"}]},function(html)

javascript - jQuery 如何在 IE8 及以下版本中执行 "fade"?

我只是想知道jQuery如何在不支持opacity的IE浏览器中生成淡入淡出效果?动画opacity是他们在其他浏览器(如Firefox和Chrome)中淡入淡出的方式。我研究了代码,但老实说,我找不到任何我可以理解的东西! 最佳答案 从jquery源代码,他们基本上检测是否支持不透明度,如果不支持,则使用IEsalpha过滤器if(!jQuery.support.opacity){jQuery.cssHooks.opacity={get:function(elem,computed){//IEusesfiltersforopaci

JavaScript 在谷歌分析后执行

我正在使用GoogleAnalytics并在分析请求完成后进行重定向。我正在使用这段代码:var_gaq=_gaq||[];_gaq.push(['_setAccount','UA-12345678-1']);_gaq.push(['_trackPageview']);_gaq.push(function(){window.location.replace("myRedirectToUri");});这没有正确执行。重定向在Firefox上正确完成(作为分析回调),但在其他浏览器(IE、Chrome、Safari)上却没有,所以我丢失了分析数据。目前我已将超时设置为1秒,但这不是真正的

javascript - 使用 QUnit 对 AJAX 请求进行单元测试

我们正在尝试为JS密集型Web应用程序实现QUnitJavaScript测试。我们正在努力寻找一种方法来成功测试涉及jQueryAJAX请求的方法。例如,我们有下面的构造函数(显然这是一个非常简单的例子):varX=function(){this.fire=function(){$.ajax("someURL.php",{data:{userId:"james"},dataType:"json",success:function(data){//Dostuff}});};};varmyX=newX();myX.fire();我们正在尝试找到一种方法来测试fire方法,最好使用stubU

javascript - QUnit、Sinon.js 和 Backbone 单元测试受挫 : sinon spy appears to fail to detect Backbone Model event callbacks

在下面的单元测试代码中:TestModel=Backbone.Model.extend({defaults:{'selection':null},initialize:function(){this.on('change:selection',this.doSomething);},doSomething:function(){console.log("Somethinghasbeendone.");}});module("Test",{setup:function(){this.testModel=newTestModel();}});test("intra-modeleventbi

javascript - 使用 Q promises 串行执行

我想我误解了Qpromise工作。我希望我的第一个promise在下一个promise开始之前解决,但那没有发生。这是我的代码:varQ=require('q');functiondoWork(taskName){vardeferred=Q.defer();console.log('starting',taskName);setTimeout(function(){console.log('donewith',taskName);deferred.resolve();});returndeferred.promise;}doWork('taskone').then(doWork('ta

javascript - 每 10 秒执行一次代码,但也从 0 秒开始

我想每10秒执行一次代码,但也在页面加载时执行一次。我的意思是我希望代码在页面最初加载时执行,然后每10秒执行一次。以下代码仅在10秒后最初执行代码。window.setInterval(function(){///callyourfunctionhere},10000);谢谢! 最佳答案 你可以这样做:(function(){varf=function(){//dosomething};window.setInterval(f,10000);f();})();IIFE在这里使用是为了避免污染封闭的命名空间。